Python之路 - 匿名函数
匿名函数介绍 🍀
lambda是一个表达式 , 而并非语句 , 所以可以出现在def语句所不能出现的位置 , 并且不需要指定函数名; lambda表达式还可以提高代码的可读性 , 简化代码
lambda表达式主要用于写一些简单的方法 , 对于复杂的还是用函数写的好
示例:
1 | # 普通函数 |
使用匿名函数可以减少命名空间使用内存 , 因为没有函数名
可直接后面传递参数
1 | lambda x,y : x if x > y else y)(1,2) ( |
非固定参数
1 | lambda *args : args)(1,2,3,4) ( |
PS : 匿名函数主要是与其他函数搭配使用
匿名函数运用 🍀
结合使用
map , 计算平方
1 | # map后返回的对象为map对象,所以利用list方法进行强转 |
filter , 筛选偶数
1 | lambda x : x % 2 == 0,[1,2,3,4])) list(filter( |
reduce , 求和
1 | # python3中已经没有reduce方法了,调用需要导入 |
嵌套使用
版本一
1 | def func(x): |
版本二
1 | func = lambda x : (lambda y: x + y) |